Notifying users of offensive content

ABSTRACT

Techniques are described that determine when content to be shared by a user may be offensive, and providing the user with a notification that the content may be offensive. In some examples, the user may be provided with a notification that includes a selectable option allowing the user to withdraw or undo the content from being shared, additional information regarding why the content was determined to be offensive, content sharing guidelines, and/or advice for how to revise the content to be less offensive. In some examples, the notification may be presented for a predetermined period of time, and the content may be held in a pending state and not shared with other users until expiration of the predetermined period.

BACKGROUND

Digital platforms such as text messaging, instant messaging, email,social media, gaming, or other applications by which users can sharecontent provide users with numerous benefits and opportunities. Forinstance, users may share information, media, and other types of contentwith family, friends, colleagues, and even strangers. However, thefreedom associated with sharing content via these digital platforms isnot without problems. For example, users may share offensive content,such as insults, hate speech, nudity, threats, violence, and so forth,either directly to other specific users or publicly. In many cases,offensive content can have negative, serious, and lasting consequencesfor both the person sharing the content and consumers of the contentincluding hurt feelings, reputational damage, and in more extreme casesdepression, substance use, and suicide. Controlling how and whetheroffensive content is shared on digital platforms may present challenges.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Theuse of the same reference numbers in different figures indicates similaror identical components or features.

FIG. 1 is a schematic view of an example system usable to implementexample techniques described herein.

FIGS. 2A-2C illustrate example interfaces usable to present anotification that is selectable to control the display of a potentiallyoffensive comment before the potentially offensive comment is posted.

FIGS. 3A-3C illustrate example interfaces usable to present anotification that is selectable to control the display of a potentiallyoffensive story before the potentially offensive story is shared.

FIG. 4 illustrates an example interface usable to present a notificationthat is selectable to control the display of a potentially offensivemessage before the potentially offensive message is shared.

FIG. 5 illustrates an example interface usable to present a notificationthat is selectable to control the display of a potentially offensiveprofile post before the potentially offensive profile post is shared.

FIGS. 6A and 6B illustrate an example process for determining apotentially offensive comment being posted by a user account, andsending an instruction to present a notification associated with thepotentially offensive comment to a computing device associated with theuser account.

FIGS. 7A and 7B illustrate an example process for determiningpotentially offensive content being posted by a user account, andsending an instruction to present a notification associated with thepotentially offensive content to a computing device associated with theuser account.

FIG. 8 illustrates an example process for presenting a notificationassociated with potentially offensive content.

FIG. 9 illustrates an example system and device which may be used toimplement the techniques described herein.

DETAILED DESCRIPTION

As discussed above, controlling whether and how offensive content isshared on digital platforms may present challenges. For instance,offensive content can take a number of forms (e.g., text, image, video,audio, or a combination of these), and the number of ways to shareoffensive content is ever growing. In some cases, offensive content maybe linked with cyberbullying, which may include threats, hate speech,degrading or shaming an individual, sharing of personal information in away that is meant to blackmail or harass someone, and repeated, unwantedmessages, to name a few examples. Offensive content may also includeencouragement of violence, threats of harm to public and personal safety(e.g., specific threats of physical harm, threats of theft, vandalism,and other financial harm), glorification of self-injury, other types ofgraphic content, obscenity, and/or nudity. Offensive content can havenegative, serious and lasting consequences for both the person sharingthe content and consumers of the content including hurt feelings,reputational damage, and in more extreme cases depression, substanceuse, and suicide.

Existing options for controlling whether and how offensive content isshared on digital platforms have been inadequate. For instance, previoustechniques included self-reporting of offensive content by consumers ofthe offensive content. In such cases, a consumer of the offensivecontent may choose to not report the content, thus permitting or evenexacerbating harm caused to a victim of the offensive content (e.g., aperson unknowingly pictured in the offensive content). In anotherexample, previous techniques also included automatic detection andremoval of some offensive content, such as by a computing device and/oran administrator without needing a user to report the offensive content.However, these automated techniques often were not implemented inreal-time, and thus offensive content would be shared for at least someperiod of time before being removed from the digital platform.Additionally, users of existing content sharing systems may not realizethat content may be offensive to other users, and/or may not intend forcontent to offend other users despite a likelihood of the content to doso. In any case, previous techniques did not provide a user who was inthe process of sharing content with a notification that the content waspotentially offensive, nor the ability to reconsider sharing thepotentially offensive content before the share action was completed.This application describes techniques for determining when content to beshared by a user may be offensive, and providing the user with anotification that the content may be offensive. In some examples, thetechniques described herein may provide the user with a notificationthat includes a selectable control allowing the user to reconsider andwithdraw or rescind the content from being shared. That is, theselectable control may allow the user to “undo” an instruction to sharethe content before the content is actually shared (e.g., published,sent, or made visible to one or more other users). In some examples, thenotification may also include additional information regarding why thecontent was determined to be offensive, content sharing guidelines,advice for how to revise the content to be less offensive, and so forth.

For instance, consider a first example where a first user is posting acomment on content shared by a second user's account in a social mediaplatform. The comment may be determined to be offensive, e.g., based ona determination that the comment includes hate speech or bullying of thesecond user. Before the comment is posted, the first user may beprovided with a notification that the comment may be offensive, and bepresented with an option to revise the comment to be more respectful. Ifthe first user selects the option, the comment may be returned to aneditable field, such as a text editing field, allowing the first user tochange the content of the comment and/or delete the comment. Bynotifying the first user that the comment may be offensive before thecomment is shared, and providing the first user with means to revise ordelete the offensive comment, the described techniques may reduceinstances of bullying, improve relationships between users, and soforth.

In some examples, a user may initiate sharing of an item of content fromthe user's social media account of a social media network. Sharingcontent from a social media account may take a variety of forms, such asa profile or feed post, a story, a direct message to one or more otherusers, a tweet, or a snap, to name a few examples. In general, a profile(or feed) post may include text and/or media content items, such asimages, video, and/or audio. The profile post may be published to thesocial media network for consumption by other users, and may be viewableby other users for as long as the user's social media account is activeand/or the post is deleted by the user, although examples are consideredin which the profile post is removed and/or deleted after an amount oftime (e.g., one hour, one day, one week, etc.). In some cases, a profilepost shared by the user may be included in respective content feeds ofother users of the social media network that have “followed” the user,are “friends” with the user, are connections of the user, or areotherwise associated with the user.

A story may be similar to a profile post, in that the story may includetext and/or media content items, such as images, video, and/or audio, ispublished to the social media network for consumption by other users,and may be included in a feed (although, in some cases, a separate feedfrom the profile post feed). However, a story may differ from a profilepost in that the story may be shared only with a selected subset of theuser's followers, and/or may be removed from being viewed by followersof the user's account after a certain period of time (e.g., one hour,one day, one week, etc.). A direct message may also include text and/ormedia content items, such as images, video, and/or audio, but ingeneral, a direct message is shared with a single other user of thesocial media network, or a selected subset of other users of the socialmedia network rather than shared with all of a user's followers.

As noted above, the variety of content sharing opportunities provided byprofile posts, stories, direct messages, and other types ofcommunications may allow for sharing of offensive content, which mayresult in negative consequences. Therefore, the described techniquesdetect potentially offensive content before, during, and/or after thecontent is shared in a profile post, story, or direct message, andnotify the user sharing the content that the content may be potentiallyoffensive. In some examples, a machine learning algorithm may detectpotentially offensive content in the flow of sharing content, such as inan image, a video, and/or text included in the content to be shared.When potentially offensive content is detected in a profile post, astory, and/or a direct message, an instruction may be sent to acomputing device associated with the user to display a notification thatthe content may be offensive, and allow the user to edit the content tomake the content more respectful before the content is shared accordingto the different sharing techniques for the feed post, story, directmessage, and/or other communication.

For instance, a notification may be output on a screen of a process flowwhen sharing a profile post or a story, but before the content is sharedwith other users. In the case of a direct message, a notification may beoutput in real time as the user inputs characters into a message, and/orupon completion of a message (e.g., after the user selects “send” butbefore the content is shared with the recipient(s) of the message). Insome examples, the notification may be displayed for an amount of time(e.g., 3 seconds, 5 seconds, 8 seconds, etc.), before the content isshared as intended according to the content sharing technique, givingthe user time to review the content and make a decision as to whetherthe user would like to proceed with sharing the content or would like torevise the content to make the content more respectful. The amount oftime that the notification is to be displayed may be represented by atimer, a progress bar, an audio signal, or some other visual indicatorcorresponding to a remaining amount of time to revise and/or rescind thecontent from being shared. Additionally, in some examples, the contentmay be prevented from being shared with other users for the amount oftime, allowing the user to withdraw or edit the content before it ismade visible to other users.

Various embodiments of the present disclosure include systems, methods,and non-transitory computer-readable media of a social networkingsystem. In some examples, a social networking system may send, to acomputing device associated with a first user account, contentoriginating from a second user account. The social networking system mayreceive, from the computing device associated with the first useraccount, a comment associated with the content. The social networkingsystem may input the comment into a machine-learned model trained toidentify potentially offensive comments. The social networking systemmay receive, from the machine-learned model, a score associated with anoffensiveness of the comment. The social networking system may comparethe score to a threshold score corresponding to an offensiveness level,and send, to the computing device associated with the first user accountand based at least in part on the score being greater than the thresholdscore, an instruction to present a notification associated with thecomment.

In some examples, the instruction to present the notification includes aduration of time to present the notification.

In some examples, the social networking system may post the commentresponsive to the duration of time elapsing.

In some examples, the instruction to present the notification furtherinstructs the computing device associated with the first user account todisplay a visual indicator to visually indicate the duration of time.

In some examples, the instruction is a first instruction, and the socialnetworking system sends, to the computing device associated with thefirst user account, a second instruction to display the comment in apending state for a duration of time.

In some examples, the instruction is a first instruction, and the socialnetworking system sends, to the computing device associated with thefirst user account, a second instruction to present a control usable toundo the comment.

In some examples, the social networking system receives, from thecomputing device associated with the first user account, an indicationof a selection of the control to undo the comment, and sends, to thecomputing device associated with the first user account, a thirdinstruction to display the comment in an editable field that enables theuser to edit the comment.

In some examples, the offensiveness level is a first offensivenesslevel, the threshold score is a first threshold score, and the socialnetworking system compares the score to a second threshold scorecorresponding to a second offensiveness level, and responsive to thescore being greater than the second threshold score, preventing thecomment from being posted or otherwise made visible to other useraccounts.

In some examples, the social networking system may receive, from acomputing device associated with a user account, an indication ofcontent to be shared by the user account. The social networking systemmay input the content into a machine-learned model trained to identifypotentially offensive content. The social networking system may receive,from the machine-learned model, a score associated with an offensivenessof the content. The social networking system may compare the score to athreshold score corresponding to an offensiveness level, and send, tothe computing device associated with the user account and based at leastin part on the score being greater than the threshold score, aninstruction to present a notification associated with the content.

In some examples, the content may include a profile post, a story, adirect message, a snap, or a tweet.

In some examples, the instruction is a first instruction, and the socialnetworking system sends, to the computing device associated with theuser account, a second instruction to present a control usable to undosharing the content.

In some examples, the potentially offensive content identifiable by themachine-learned model may include content categories including bullyingcontent, hate speech content, and/or nudity content, the socialnetworking system determines the content category of the potentiallyoffensive content, and the instruction to present the notification isfurther based at least in part on the content category of thepotentially offensive content.

In some examples, the machine-learned model may include an imageclassifier trained to identify potentially offensive images or video.

In some examples, the machine-learned model may include an audioclassifier trained to identify potentially offensive sounds or speech.

In some examples, the machine-learned model may include a textclassifier trained to identify potentially offensive text.

In some examples, the machine-learned model may include an opticalcharacter recognition (OCR) layer to identify the potentially offensivetext depicted in an image or video.

In some examples, the user account is a first user account, the socialnetworking system determines a second user account associated with thecontent, and the instruction to present the notification is based atleast in part on the second user account being associated with thecontent.

In some examples, the content is a profile post, a story, or a directmessage including one or more content types, such as an image, a video,a sound, or text, and the score is based at least in part on combiningindividual scores associated with the offensiveness of each of thecontent types included in the profile post, the story, or the directmessage.

In some examples, the instruction to present the notification includes aduration of time to present the notification.

In some examples, the social networking system shares the contentresponsive to the duration of time elapsing.

In some examples, the instruction to present the notification furtherinstructs the computing device associated with the user account todisplay a visual indicator to visually indicate the duration of time.

In some examples, the instruction is a first instruction, and the socialnetworking system sends, to the computing device associated with theuser account, a second instruction to display the content in a pendingstate for a duration of time.

In some examples, the social networking system compares the score to afirst threshold score corresponding to a first offensiveness level and,if the score is greater than or equal to the first threshold, preventsthe content from being shared based at least in part on the score beinggreater than or equal to the first threshold score. If the score is lessthan the first threshold but greater than a second thresholdcorresponding to a second offensiveness level, the social networkingsystem may output a notification including a control usable to undosharing the content based at least in part on the score being less thanthe first threshold score and greater than the second threshold score.

In some examples, the computing device is a first computing device, theuser account is a first user account, the machine-learned model is afirst machine-learned model, and the score is a first score, and thesocial networking system permits the content to be shared with a secondcomputing device associated with a second user account, then inputs thecontent into a second machine-learned model trained to identify thepotentially offensive content, receives from the second machine-learnedmodel, a second score associated with the offensiveness of the content,and withdraws the content from being shared with the second computingdevice associated with the second user account based at least in part onthe second score or sends a notification to the user giving the user anoption to withdraw the content.

In addition to the societal improvements discussed above, the techniquesdescribed herein also improve performance of one or more computingdevices by reducing an amount of content sent over a network. Forinstance, if a user withdraws content from being shared in response to anotification that the content may be offensive, the content may bedeleted from the user's computing device and may be prevented from beingdisseminated to other user's computing devices. In this way, thequantity of data sent over the network may be reduced. The quantity ofdata sent over the network may further be reduced with potentiallyoffended users reducing complaints, reducing tagging of offensivecontent, and/or reducing the number of blocked users. Additionally, insome examples, the described techniques improve a user interface of acomputing device by displaying a limited set of information to the user.For instance, the information displayed to a user sharing content mayimprove efficiency of using a computing device by allowing the user tomore quickly access options to control how data input by the user isdisplayed to other users. Further, the speed of presenting controls foroutputting content is improved by selectively outputting controls to theuser that correspond to the content itself, e.g., by outputting adifferent control for a bullying comment on another user's post than acontrol output on a story that includes hate speech. In this way, theuser may decide in real time whether to share or withdraw content muchfaster (e.g., by selecting a control on a notification presented at thetime of sharing the content) than existing techniques, which may requirethe user to withdraw content after the content has been shared bynavigating a series of settings and/or menu screens to remove thecontent.

These and other aspects are described further below with reference tothe accompanying drawings. The drawings are merely exampleimplementations, and should not be construed to limit the scope of theclaims. For example, while examples are illustrated in the context of auser interface for a mobile device, the techniques may be implementedusing any computing device and the user interface may be adapted to thesize, shape, and configuration of the particular computing device. Also,while many of the examples are given in the context of offensivecontent, the techniques described herein may also be applied to, withoutlimitation, aggressive content, threatening content, sexual content,abusive content, obscene content, or any other content that isobjectionable to a user, with machine-learned models being trained todetect any or all of these types of content.

Example System Architecture

FIG. 1 is a schematic view of an example computing system 100 usable toimplement example techniques described herein to notify a user inresponse to the user attempting to share potentially offensive contentwith other users via the system 100. In some examples, the system 100may include users 102(1), 102(2), . . . 102(n) (collectively “users102”) to interact using computing devices 104(1), 104(2), . . . 104(m)(collectively “computing devices 104”) with a social networking system106 via a network 108. In this example, n and m are non-zero integersgreater than 1.

Each of the computing devices 104 includes one or more processors andmemory storing computer executable instructions to implement thefunctionality discussed herein attributable to the various computingdevices. In some examples, the computing devices 104 may include desktopcomputers, laptop computers, tablet computers, mobile devices (e.g.,smart phones or other cellular or mobile phones, mobile gaming devices,portable media devices, etc.), or other suitable computing devices. Thecomputing devices 104 may execute one or more client applications, suchas a web browser (e.g., Microsoft Windows Internet Explorer, MozillaFirefox, Apple Safari, Google Chrome, Opera, etc.) or a native orspecial-purpose client application (e.g., social media applications,messaging applications, email applications, games, etc.), to access andview content over the network 108.

The network 108 may represent a network or collection of networks (suchas the Internet, a corporate intranet, a virtual private network (VPN),a local area network (LAN), a wireless local area network (WLAN), acellular network, a wide area network (WAN), a metropolitan area network(MAN), or a combination of two or more such networks) over which thecomputing devices 104 may access the social networking system 106 and/orcommunicate with one another.

The social networking system 106 may include one or more servers orother computing devices, any or all of which may include one or moreprocessors and memory storing computer executable instructions toimplement the functionality discussed herein attributable to the socialnetworking system or digital platform. The social networking system 106may enable its users 102 (such as persons or organizations) to interactwith the social networking system 106 and with each other via thecomputing devices 104. The social networking system 106 may, with inputfrom a user, create and store in the social networking system 106 a useraccount associated with the user. The user account may includedemographic information, communication-channel information, andinformation on personal interests of the user. The social networkingsystem 106 may also, with input from a user, create and store a recordof relationships of the user with other users of the social networkingsystem, as well as provide services (e.g., posts, comments,photo-sharing, messaging, tagging, mentioning of other users orentities, games, etc.) to facilitate social interaction between or amongthe users 102.

The social networking system 106 may be configured to help foster thesafety and security of the users 102. For instance, the socialnetworking system 106 may provide the users 102 with notifications whenthe social networking system 106 detects that one of the users 102intends to share potentially offensive content via the social networkingsystem 106.

For example, at operation 110 (indicated by “1”), the first user 102(1)disseminates offensive content (e.g., a comment, a message, a post, astory, etc.) to the second user 102(2) and/or one or more other users102(n). For example, the offensive content may be a bullying messagesent from the first user 102(1) to the second user 102(2). In someexamples, the offensive content may be a profile post or a story by thefirst user 102(1) that includes nudity or hate speech, where the profilepost or the story is shared to followers of the first user 102(1) thatinclude the users 102(2)-102(n).

In some examples, the second user 102(2) may post an item of content(e.g., a profile post, a story, etc.) on which the first user 102(1) maycomment. The item of content posted by the second user 102(2) may beshared with the first user 102(1), and in some cases, also shared withone or more other users 102(n). Returning to the operation 110, in someexamples, the first user 102(1) may post an offensive comment regardingan image or other content item included in the post by the second user102(2), or directed at the second user 102(2). In some cases, thecomment may be visible to the second user 102(2) and one or more otherusers 102(n) who follow the second user 102(2).

In some examples, the social networking system 106 may receive anindication that the computing device 104(1) intends to share thepotentially offensive content according to the operation 110. Prior tosharing the offensive content with the other users 102(2)-102(n), anoperation 112 (indicated by “2”) includes detecting offensive content.For instance, the social networking system 106 may input the potentiallyoffensive content into a machine-learned model 114 trained to detectoffensive content. In some examples, the machine-learned model 114 maybuild a mathematical model using training data that includes offensivecontent such as bullying content, hate speech, nudity, taunting, and soforth to make predictions on future content on whether the content isoffensive or not without being explicitly programmed to perform thedetection. Further, the machine-learned model 114 may be trained tooutput a score corresponding to an offensiveness level of the content(e.g., a likelihood that the content is offensive, a degree ofoffensiveness, etc.), and/or multiple scores for different types ofoffensive content (e.g., bullying content, hate speech, nudity,taunting, and so forth). The machine-learned model may take a variety offorms.

For example, in the case of a comment to be posted by the first user102(1) in association with a profile post or a story previously sharedby the second user 102(2) (e.g., according to the operation 112), themachine-learned model 114 may be a text classifier trained to identifypotentially offensive text. The text classifier, in some examples, maybe an artificial neural network trained to detect bullying, hate speech,taunting, threats, blackmail, harassment, promotion of self-harm, and soforth. The machine-learned model 114 may receive the comment to beposted by the first user 102(1), and output a score associated with thecomment indicative of an offensiveness level (e.g., a likelihood thatthe content is offensive) of the comment. In some examples, themachine-learned model 114 may output multiple scores corresponding todifferent types of offensive content, such as a score for bullying, ascore for hate speech, a score for taunting, and so on.

In some examples, content such as a profile post, a story, or a directmessage received from the user 102(1) may be input into themachine-learned model 114 before the content is shared with one or moreof the other users 102(2)-102(n). In some examples, content included ina profile post, a story, or a direct message may include a variety ofcontent types, such as text, image, video, audio, emojis, GIFs,stickers, and/or other types of overlays. These content types mayindividually correspond to offensive content, and/or may correspond tooffensive content when consumed in combination with other content typesincluded in a profile post, a story, or a direct message.

Accordingly, the machine-learned model 114 may include a number ofclassifiers to analyze the different content types included in a profilepost, a story, or a direct message individually and/or in combination.For instance, the machine-learned model 114 may include an artificialneural network including a computer vision classifier trained to analyzeimages and/or video (e.g., a frame and/or frames of a video) for nudity,offensive gestures, violence, graphic content, and so forth. In additionor alternatively, the machine-learned model 114 may include anartificial neural network including a speech recognition classifiertrained to analyze speech or other audio included in a video or audiorecording for bullying, hate speech, taunting, threats, blackmail,harassment, promotion of self-harm, and so forth. Further, themachine-learned model 114 may include an optical character recognition(OCR) classifier, which when given an image representing printed text(e.g., in a GIF, sticker, characters traced onto a touch screen using afinger or stylus, etc.), determines the corresponding text. The OCRclassifier may output the text to a text classifier trained to identifypotentially offensive text, as described above.

Although specific machine-learned models are described above, othertypes of machine-learned models can additionally or alternatively beused. For example, machine learning algorithms can include, but are notlimited to, regression algorithms (e.g., ordinary least squaresregression (OLSR), linear regression, logistic regression, stepwiseregression, multivariate adaptive regression splines (MARS), locallyestimated scatterplot smoothing (LOESS)), instance-based algorithms(e.g., ridge regression, least absolute shrinkage and selection operator(LASSO), elastic net, least-angle regression (LARS)), decisions treealgorithms (e.g., classification and regression tree (CART), iterativedichotomiser 3 (ID3), Chi-squared automatic interaction detection(CHAID), decision stump, conditional decision trees), Bayesianalgorithms (e.g., naïve Bayes, Gaussian naïve Bayes, multinomial naïveBayes, average one-dependence estimators (AODE), Bayesian belief network(BNN), Bayesian networks), clustering algorithms (e.g., k-means,k-medians, expectation maximization (EM), hierarchical clustering),association rule learning algorithms (e.g., perceptron,back-propagation, hopfield network, Radial Basis Function Network(RBFN)), deep learning algorithms (e.g., Deep Boltzmann Machine (DBM),Deep Belief Networks (DBN), Convolutional Neural Network (CNN), StackedAuto-Encoders), Dimensionality Reduction Algorithms (e.g., PrincipalComponent Analysis (PCA), Principal Component Regression (PCR), PartialLeast Squares Regression (PLSR), Sammon Mapping, MultidimensionalScaling (MDS), Projection Pursuit, Linear Discriminant Analysis (LDA),Mixture Discriminant Analysis (MDA), Quadratic Discriminant Analysis(QDA), Flexible Discriminant Analysis (FDA)), Ensemble Algorithms (e.g.,Boosting, Bootstrapped Aggregation (Bagging), AdaBoost, StackedGeneralization (blending), Gradient Boosting Machines (GBM), GradientBoosted Regression Trees (GBRT), Random Forest), SVM (support vectormachine), supervised learning, unsupervised learning, semi-supervisedlearning, etc. Additional examples of architectures include neuralnetworks such as ResNet50, ResNet101, VGG, DenseNet, PointNet, and thelike.

In some examples, the machine-learned model 114 may determine an overalloffensiveness score by combining individual offensiveness scores ofcomponents of the content to be shared by the first user 102(1) havingdifferent content types. For instance, consider an example in which thefirst user 102(1) selects an option to share a story with the otherusers 102(2)-102(n) that includes a video, a GIF, and two text overlays.The machine-learned model 114 may output an individual offensivenessscore for the video, an individual offensiveness score for the GIF, anindividual offensiveness score for the first text overlay, and anindividual offensiveness score for the second text overlay. Themachine-learned model 114 may in some examples combine these four scoresfor the content components (e.g., by a summation, a weighted average,etc.) to determine an overall offensiveness score for the story. Inother examples, the machine-learned model 114 may analyze the contentinput by the user 102(1) as a whole (e.g., either in addition to oralternatively to analyzing individual components of the content) todetermine an overall offensiveness score for the content.

After the machine-learned model 114 outputs the offensiveness score forthe content, in some examples, the social networking system 106 comparesthe offensiveness score to one or more threshold scores corresponding toan offensiveness level. For instance, an offensiveness level maycorrespond to a certainty that the content would be offensive to usersof the social networking system 106. Using an example scale of 0 to 100,where 0 corresponds to not at all likely to be offensive and 100corresponds to complete certainty that the content is offensive, animage of an apple may receive a score of 5 and an image of a personbeing punched may receive a score of 85. Of course, any scale may beused to indicate an offensiveness level of content (e.g., a scale from 0to 1, a scale from 0 to 10, etc.). Additionally, the machine-learnedmodel 114 may continuously adapt the scale to accommodate differenttrends in content that may become more or less offensive over time,e.g., based on news items described in content over the socialnetworking system 106, based on hashtags used in the social networkingsystem 106, based on people and/or places tagged using the socialnetworking system 106, and so forth.

In some cases, an offensiveness score output by the machine-learnedmodel 114 may be compared to a first threshold score for anoffensiveness level that may designate whether the content should bewithheld from posting altogether (e.g., blocked). Continuing with theexample scale from 0 to 100 above, the first threshold score may be setto 95 (or 98, 99, or some other score) on the scale. In this example, ifcontent to be shared by the first user 102(1) exceeds the firstthreshold score of 95, the content may be withheld from being shared asintended by the first user 102(1). On the other hand, if the content tobe shared by the first user 102(1) is less than the first thresholdscore, the content may be shared as intended and/or may be compared toone or more additional threshold offensiveness level scores.

For example, the offensiveness score output by the machine-learned model114 may be compared to a second threshold score for an offensivenesslevel that may designate whether a notification is displayed by thecomputing device 104(1) to the first user 102(1) associated with thecontent. If the social networking system 106 determines that anotification is to be displayed, an operation 116 (indicated by “3”)includes sending an instruction to output a notification based on theoffensiveness level (e.g., likelihood that the content is offensive).The notification may provide an indication to the first user 102(1) thatthe content that the first user 102(1) intends to share with one or moreof the other users 102(2)-102(n) may potentially be offensive to theother user(s). In some cases, the notification may give the first user102(1) selectable options on how to proceed based on the content beingpotentially offensive, such as an option to withdraw or undo sharing ofthe content, an option to edit the content, an option to continue withsharing the content, and so forth. In some examples, the notificationmay be displayed for a predetermined amount of time (e.g., 2 seconds, 3seconds, 5 seconds, 8 seconds, 10 seconds, etc.) before the content isshared. For instance, when a user enters and submits content, if thesocial networking system 106 determines that the content meets orexceeds a threshold likelihood of being found to be offensive (e.g., thesecond threshold level described above), the social networking system106 may hold the content in a pending state without sharing the contentwith other users until the predetermined amount of time elapses.Furthermore, in some examples, the amount of time that the notificationis displayed by the computing device 104(1) may vary based on theoffensiveness score, such as by displaying the notification for moretime before sharing the content when the offensiveness score is higher,and/or displaying the notification for less time before sharing thecontent when the offensiveness score is lower.

At operation 118 (indicated by “4”), a response to the notification isreceived by the social networking system 106 from the computing device104(1). The response may include an indication that the timer hasexpired, an indication that the content is being withdrawn from beingshared by the user account, and/or an indication that the content hasbeen edited, to name a few examples. In some examples, the contentshared by the first user 102(1) is pending and not visible to otherusers until a timer indicating the predetermined amount of time expires,or approval to post the content by the first user 102(1) is received.The timer may be displayed in association with the notification that thecontent that the user 102(1) intends to share is potentially offensive.In this way, the timer gives the user 102(1) an indication that thecontent is not yet shared (e.g., is in a pending state), while alsogiving the user an opportunity to revise the content to make the contentmore respectful, and/or to withdraw or undo the content before thecontent is shared with the other users 102(2)-102(n). By preventing thecontent from being shared while the notification is displayed, notifyingthe user 102(1) that the content is potentially offensive, and providingthe user 102(1) with an opportunity to revise or withdraw the content,the users 102 may be spared from the negative consequences ofdisseminating offensive content and provide the users 102 with a morepositive user experience with the social networking system 106.

At operation 120 (indicated by “5”), the social networking system 106controls whether the offensive content is shared with one or more otherusers. In some examples, if the offensiveness score indicates that thecontent is very likely to be offensive, the social networking system 106may prevent the content from being shared with the other users102(2)-102(n) at all. If the social networking system 106 receives anindication that the timer presented as part of the notification outputby the computing device 104(1) has expired without an input from theuser 102(1), the social networking system 106 may share the content withthe other users 102(2)-102(n) as input by the user 102(1). In someexamples, the response to the notification may include revisions to thecontent, and the social networking system 106 may proceed to share thecontent with the other users 102(2)-102(n) based on receiving therevised content, and/or may share the content with the other users102(2)-102(n) responsive to determining (e.g., by the machine-learnedmodel 114) that an offensiveness score for the revised content does notmeet the threshold offensiveness levels. In some cases, the socialnetworking system 106 may receive a response indicating that the user102(1) has withdrawn the content in response to receiving thenotification, and thus the social networking system may prevent thecontent from being shared with the other users 102(2)-102(n) (e.g., bydeleting the content from storage of the social networking system 106before the content is shared).

In some examples, the social networking system 106 may provide privacyfeatures to the users 102 while interacting with the social networkingsystem 106. In particular examples, one or more objects (e.g., contentor other types of objects) of the computing system 100 may be associatedwith one or more privacy settings. The one or more objects may be storedon or otherwise associated with any suitable computing system orapplication, such as, for example, the social-networking system 106, aclient system, a third-party system, a social-networking application, amessaging application, a photo-sharing application, or any othersuitable computing system or application. Although the examplesdiscussed herein are in the context of an online social network, theseprivacy settings may be applied to any other suitable computing system.Privacy settings (or “access settings”) for an object or item of contentmay be stored in any suitable manner, such as, for example, inassociation with the object, in an index on an authorization server, inanother suitable manner, or any suitable combination thereof. A privacysetting for an object may specify how the object (or particularinformation associated with the object) can be accessed, stored, orotherwise used (e.g., viewed, shared, modified, copied, executed,surfaced, or identified) within the online social network. When privacysettings for an object allow a particular user or other entity to accessthat object, the object may be described as being “visible” with respectto that user or other entity. As an example and not by way oflimitation, a user of the online social network may specify privacysettings for a user-profile page that identify a set of users that mayaccess work-experience information on the user-profile page, thusexcluding other users from accessing that information.

In particular examples, privacy settings for an object may specify a“blocked list” and/or a “restricted list” of users or other entitiesthat should not be allowed to access certain information associated withthe object. In particular examples, the blocked list may includethird-party entities. The blocked list or restricted list may specifyone or more users or entities for which an object is not visible. As anexample and not by way of limitation, a user may specify a set of userswho may not access photo albums associated with the user, thus excludingthose users from accessing the photo albums (while also possiblyallowing certain users not within the specified set of users to accessthe photo albums). In particular examples, privacy settings may beassociated with particular social-graph elements. Privacy settings of asocial-graph element, such as a node or an edge, may specify how thesocial-graph element, information associated with the social-graphelement, or objects associated with the social-graph element can beaccessed using the online social network. As an example and not by wayof limitation, a particular concept node corresponding to a particularphoto may have a privacy setting specifying that the photo may beaccessed only by users tagged in the photo and friends of the userstagged in the photo. In particular examples, privacy settings may allowusers to opt in to or opt out of having their content, information, oractions stored/logged by the social-networking system or shared withother systems (e.g., a third-party system). Although this disclosuredescribes using particular privacy settings in a particular manner, thisdisclosure contemplates using any suitable privacy settings in anysuitable manner.

In particular examples, privacy settings may be based on one or morenodes or edges of a social graph. A privacy setting may be specified forone or more edges or edge-types of the social graph, or with respect toone or more nodes or node-types of the social graph. The privacysettings applied to a particular edge connecting two nodes may controlwhether the relationship between the two entities corresponding to thenodes is visible to other users of the online social network. Similarly,the privacy settings applied to a particular node may control whetherthe user or concept corresponding to the node is visible to other usersof the online social network. As an example and not by way oflimitation, a user 102(1) may share an object to the social networkingsystem 106. The object may be associated with a concept node connectedto a user node of the user 102(1) by an edge. The user 102(1) mayspecify privacy settings that apply to a particular edge connecting tothe concept node of the object, or may specify privacy settings thatapply to all edges connecting to the concept node. In some examples, theuser 102(1) may share a set of objects of a particular object-type(e.g., a set of images). The user 102(1) may specify privacy settingswith respect to all objects associated with the user 102(1) of thatparticular object-type as having a particular privacy setting (e.g.,specifying that all images posted by the user 102(1) are visible only tofriends of the user and/or users tagged in the images).

In particular examples, the social networking system 106 may present a“privacy wizard” (e.g., within a webpage, a module, one or more dialogboxes, or any other suitable interface) to the user 102(1) to assist theuser in specifying one or more privacy settings. The privacy wizard maydisplay instructions, suitable privacy-related information, currentprivacy settings, one or more input fields for accepting one or moreinputs from the first user specifying a change or confirmation ofprivacy settings, or any suitable combination thereof. In particularexamples, the social networking system 106 may offer a “dashboard”functionality to the user 102(1) that may display, to the user 102(1),current privacy settings of the user 102(1). The dashboard functionalitymay be displayed to the user 102(1) at any appropriate time (e.g.,following an input from the user 102(1) summoning the dashboardfunctionality, following the occurrence of a particular event or triggeraction). The dashboard functionality may allow the user 102(1) to modifyone or more of the user's current privacy settings at any time, in anysuitable manner (e.g., redirecting the user 102(1) to the privacywizard).

Privacy settings associated with an object may specify any suitablegranularity of permitted access or denial of access. As an example andnot by way of limitation, access or denial of access may be specifiedfor particular users (e.g., only me, my roommates, my boss), userswithin a particular degree-of-separation (e.g., friends,friends-of-friends), user groups (e.g., the gaming club, my family),user networks (e.g., employees of particular employers, students oralumni of particular university), all users (“public”), no users(“private”), users of third-party systems, particular applications(e.g., third-party applications, external websites), other suitableentities, or any suitable combination thereof. Although this disclosuredescribes particular granularities of permitted access or denial ofaccess, this disclosure contemplates any suitable granularities ofpermitted access or denial of access.

In particular examples, one or more servers of the social networkingsystem 106 may be authorization/privacy servers for enforcing privacysettings. In response to a request from the user 102(1) (or otherentity) for a particular object stored in a data store, the socialnetworking system 106 may send a request to the data store for theobject. The request may identify the user 102(1) associated with therequest and the object may be sent only to the user 102(1) (or a clientsystem of the user) if the authorization server determines that the user102(1) is authorized to access the object based on the privacy settingsassociated with the object. If the requesting user is not authorized toaccess the object, the authorization server may prevent the requestedobject from being retrieved from the data store or may prevent therequested object from being sent to the user. In the search-querycontext, an object may be provided as a search result only if thequerying user is authorized to access the object, e.g., if the privacysettings for the object allow it to be surfaced to, discovered by, orotherwise visible to the querying user. In particular examples, anobject may represent content that is visible to a user through anewsfeed of the user. As an example and not by way of limitation, one ormore objects may be visible to a user's “Trending” page. In particularexamples, an object may correspond to a particular user. The object maybe content associated with the particular user, or may be the particularuser's account or information stored on the social networking system106, or other computing system. As an example and not by way oflimitation, the user 102(1) may view one or more other users 102(2) . .. 102(n) of an online social network through a “People You May Know”function of the online social network, or by viewing a list of friendsof the user 102(1). As an example and not by way of limitation, the user102(1) may specify that they do not wish to see objects associated witha particular other user (e.g., the user 102(2)) in their newsfeed orfriends list. If the privacy settings for the object do not allow it tobe surfaced to, discovered by, or visible to the user 102(1), the objectmay be excluded from the search results. Although this disclosuredescribes enforcing privacy settings in a particular manner, thisdisclosure contemplates enforcing privacy settings in any suitablemanner.

In particular examples, different objects of the same type associatedwith a user may have different privacy settings. Different types ofobjects associated with a user may also have different types of privacysettings. As an example and not by way of limitation, the user 102(1)may specify that the user's status updates are public, but any imagesshared by the user are visible only to the user's friends on the onlinesocial network. In some examples, the user 102(1) may specify differentprivacy settings for different types of entities, such as individualusers, friends-of-friends, followers, user groups, or corporateentities. In some examples, the user 102(1) may specify a group of usersthat may view videos posted by the user 102(1), while keeping the videosfrom being visible to the user's employer. In particular examples,different privacy settings may be provided for different user groups oruser demographics. As an example and not by way of limitation, the user102(1) may specify that other users who attend the same university asthe user 102(1) may view the user's pictures, but that other users whoare family members of the user 102(1) may not view those same pictures.

In particular examples, the social networking system 106 may provide oneor more default privacy settings for each object of a particularobject-type. A privacy setting for an object that is set to a defaultmay be changed by a user associated with that object. As an example andnot by way of limitation, all images posted by the user 102(1) may havea default privacy setting of being visible only to friends of the firstuser and, for a particular image, the user 102(1) may change the privacysetting for the image to be visible to friends and friends-of-friends.

In particular examples, privacy settings may allow the user 102(1) tospecify (e.g., by opting out, by not opting in) whether the socialnetworking system 106 may receive, collect, log, or store particularobjects or information associated with the user 102(1) for any purpose.In particular examples, privacy settings may allow the user 102(1) tospecify whether particular applications or processes may access, store,or use particular objects or information associated with the user. Theprivacy settings may allow the user 102(1) to opt in or opt out ofhaving objects or information accessed, stored, or used by specificapplications or processes. The social networking system 106 may accesssuch information in order to provide a particular function or service tothe user 102(1), without the social networking system 106 having accessto that information for any other purposes. Before accessing, storing,or using such objects or information, the social networking system 106may prompt the user 102(1) to provide privacy settings specifying whichapplications or processes, if any, may access, store, or use the objector information prior to allowing any such action. As an example and notby way of limitation, the user 102(1) may transmit a message to the user102(2) via an application related to the online social network (e.g., amessaging app), and may specify privacy settings that such messagesshould not be stored by the social networking system 106.

In particular examples, the user 102(1) may specify whether particulartypes of objects or information associated with the user 102(1) may beaccessed, stored, or used by the social networking system 106. As anexample and not by way of limitation, the user 102(1) may specify thatimages sent by the user 102(1) through the social networking system 106may not be stored by the social networking system 106. In some examples,the user 102(1) may specify that messages sent from the user 102(1) toanother user 102(2) may not be stored by the social networking system106. In some cases, the user 102(1) may specify that all objects sentvia a particular application may be saved by the social networkingsystem 106.

In particular examples, privacy settings may allow the user 102(1) tospecify whether particular objects or information associated with theuser 102(1) may be accessed from particular client systems orthird-party systems. The privacy settings may allow the user 102(1) toopt in or opt out of having objects or information accessed from aparticular device (e.g., the phone book on a user's smart phone), from aparticular application (e.g., a messaging app), or from a particularsystem (e.g., an email server). The social networking system 106 mayprovide default privacy settings with respect to each device, system, orapplication, and/or the user 102(1) may be prompted to specify aparticular privacy setting for each context. As an example and not byway of limitation, the user 102(1) may utilize a location-servicesfeature of the social networking system 106 to provide recommendationsfor restaurants or other places in proximity to the user 102(1). Thedefault privacy settings of the user 102(1) may specify that the socialnetworking system 106 may use location information provided from thecomputing device 104(1) of the user 102(1) to provide the location-basedservices, but that the social networking system 106 may not store thelocation information of the user 102(1) or provide it to any third-partysystem. The user 102(1) may then update the privacy settings to allowlocation information to be used by a third-party image-sharingapplication in order to geo-tag photos.

In particular examples, privacy settings may allow a user to engage inthe ephemeral sharing of objects on the online social network. Ephemeralsharing refers to the sharing of objects (e.g., posts, photos) orinformation for a finite period of time. Access or denial of access tothe objects or information may be specified by time or date. As anexample and not by way of limitation, a user may specify that aparticular image uploaded by the user is visible to the user's friendsfor the next week, after which time the image may no longer beaccessible to other users. In some examples, a company may post contentrelated to a product release ahead of the official launch, and specifythat the content may not be visible to other users until after theproduct launch.

In particular examples, for particular objects or information havingprivacy settings specifying that they are ephemeral, the socialnetworking system 106 may be restricted in its access, storage, or useof the objects or information. The social networking system 106 maytemporarily access, store, or use these particular objects orinformation in order to facilitate particular actions of a userassociated with the objects or information, and may subsequently deletethe objects or information, as specified by the respective privacysettings. As an example and not by way of limitation, the user 102(1)may transmit a message to the user 102(2), and the social networkingsystem 106 may temporarily store the message in a data store until theuser 102(2) has viewed or downloaded the message, at which point thesocial networking system 106 may delete the message from the data store.In some examples, continuing with the prior example, the message may bestored for a specified period of time (e.g., 2 weeks), after which pointthe social networking system 106 may delete the message from the datastore.

In particular examples, changes to privacy settings may take effectretroactively, affecting the visibility of objects and content sharedprior to the change. As an example and not by way of limitation, theuser 102(1) may share a first image and specify that the first image isto be public to all other users. At a later time, the user 102(1) mayspecify that any images shared by the user 102(1) should be made visibleonly to a first user group. The social networking system 106 maydetermine that this privacy setting also applies to the first image andmake the first image visible only to the first user group. In particularexamples, the change in privacy settings may take effect only goingforward. Continuing the example above, if the user 102(1) changesprivacy settings and then shares a second image, the second image may bevisible only to the first user group, but the first image may remainvisible to all users. In particular examples, in response to a useraction to change a privacy setting, the social networking system 106 mayfurther prompt the user to indicate whether the user wants to apply thechanges to the privacy setting retroactively. In particular examples, auser change to privacy settings may be a one-off change specific to oneobject. In particular examples, a user change to privacy may be a globalchange for all objects associated with the user.

In particular examples, the social networking system 106 may determinethat user 102(1) may want to change one or more privacy settings inresponse to a trigger action associated with the user 102(1). Thetrigger action may be any suitable action on the online social network.As an example and not by way of limitation, a trigger action may be achange in the relationship between a first and second user of the onlinesocial network (e.g., “un-friending” a user, changing the relationshipstatus between the users, etc.). In particular examples, upondetermining that a trigger action has occurred, the social networkingsystem 106 may prompt the user 102(1) to change the privacy settingsregarding the visibility of objects associated with the user 102(1). Theprompt may redirect the user 102(1) to a workflow process for editingprivacy settings with respect to one or more entities associated withthe trigger action. The privacy settings associated with the user 102(1)may be changed only in response to an explicit input from the user102(1), and may not be changed without the approval of the user 102(1).As an example and not by way of limitation, the workflow process mayinclude providing the user 102(1) with the current privacy settings withrespect to the user 102(2) or to a group of users (e.g., un-tagging theuser 102(1) or the user 102(2) from particular objects, changing thevisibility of particular objects with respect to the user 102(2) or agroup of users), and receiving an indication from the user 102(1) tochange the privacy settings based on any of the methods describedherein, or to keep the existing privacy settings.

In particular examples, a user may need to provide verification of aprivacy setting before allowing the user to perform particular actionson the online social network, or to provide verification before changinga particular privacy setting. When performing particular actions orchanging a particular privacy setting, a prompt may be presented to theuser to remind the user of his or her current privacy settings and toask the user to verify the privacy settings with respect to theparticular action. Furthermore, a user may need to provide confirmation,double-confirmation, authentication, or other suitable types ofverification before proceeding with the particular action, and theaction may not be complete until such verification is provided. As anexample and not by way of limitation, a user's default privacy settingsmay indicate that a person's relationship status is visible to all users(i.e., “public”). However, if the user changes his or her relationshipstatus, the social networking system 106 may determine that such actionmay be sensitive and may prompt the user to confirm that his or herrelationship status should remain public before proceeding. In someexamples, a user's privacy settings may specify that the user's postsare visible only to friends of the user. However, if the user changesthe privacy setting for his or her posts to being public, the socialnetworking system 106 may prompt the user with a reminder of the user'scurrent privacy settings of posts being visible only to friends, and awarning that this change will make all of the user's past posts visibleto the public. The user may then be required to provide a secondverification, input authentication credentials, or provide other typesof verification before proceeding with the change in privacy settings.In particular examples, a user may need to provide verification of aprivacy setting on a periodic basis. A prompt or reminder may beperiodically sent to the user based either on time elapsed or a numberof user actions. As an example and not by way of limitation, the socialnetworking system 106 may send a reminder to the user to confirm his orher privacy settings every six months or after every ten photo posts. Inparticular examples, privacy settings may also allow users to controlaccess to the objects or information on a per-request basis. As anexample and not by way of limitation, the social networking system 106may notify the user whenever a third-party system attempts to accessinformation associated with the user, and require the user to provideverification that access should be allowed before proceeding.

Example User Interfaces

FIG. 2A-FIG. 5 are schematic views showing example user interfaces thatare usable to implement the techniques described herein for notifying auser that content the user intends to share may potentially beoffensive. The interfaces and/or the notifications may be generated by acomputing device of a social networking system (e.g., social networkingsystem 106) and transmitted to one or more user computing devices (e.g.,computing devices 104) for presentation, and/or the interfaces may begenerated by the one or more user computing devices based at least inpart on instructions received from the social networking system. Asdiscussed above, the interfaces described in this section may, but neednot, be implemented in the context of the system 100.

FIGS. 2A-2C illustrate an example in which offensive content in the formof a comment has been instructed to be shared by a first user (“anon3”in this example) in response to a post of a photo shared in a feed of asecond user. A first user interface 200 a shown in FIG. 2A correspondsto comments in the second user's feed or story as it would appear on acomputing device associated with an account of the second user. In thisexample, the first user (anon3) has input an offensive comment 202 (“Yousuck”) in response to the second user's post and selected a “Post”indicator 204 in the user interface to share the comment. The comment202 is associated with the second user in that it is in response to apost made by the second user. As used herein, unless otherwiseindicated, the term “select” or “selection” means a touch, a forcetouch, a multi-touch, a swipe in any direction, a voice input, a mouseinput, a stylus input, or any other input designed to interact with auser interface control.

In conventional comment posting techniques, the comment 202 would beshared with not only the second user upon selection of the Postindicator 204 in the user interface 200 a by the first user, but wouldalso be shared with any of the second user's followers on the socialmedia platform (e.g., the other users who have commented, “anon 1,” and“anon2”) who may subsequently view the post by the second user.Therefore, sharing of an offensive comment in a conventional socialmedia platform may cause emotional harm when the second user views thecomment, along with embarrassment when the second user's followers viewthe comment as well.

The techniques described herein, however, detect the potentiallyoffensive comment 202 prior to the comment 202 being shared, and providethe first user with the ability to revise and/or withdraw the commentfrom being shared. For instance, when the first user selects the Postindicator 204, the comment 202 may be input into a machine-learned modeltrained to detect offensive content, such as described in relation toFIG. 1. The machine-learned model may output an offensiveness score ofthe comment 202, and the score may be compared to a thresholdcorresponding to an offensiveness level of the comment 202. If the scoreis greater than (or less than, in some examples) the threshold score,the social networking system 106 of FIG. 1 may output an instruction tothe computing device of the first user to display a notification 206associated with the comment 202, and prior to the comment 202 beingshared with the second user and the followers of the second user.

In some examples, the notification 206 may include text such as “Otherpeople may find this offensive,” warning the first user how others(including the second user) may perceive the comment that the first useris intending to share. Additionally, in examples, the instruction topresent the notification 206 may include a duration of time to presentthe notification 206 (e.g., 3 seconds, 5 seconds, 8 seconds, etc.) bythe computing device of the first user. To make the first user aware ofthe duration of time that the notification 206 will be displayed, avisual indicator such as a progress bar 208 may also be displayed (e.g.,proximate the notification 206), visually indicating the elapsed and/orremaining duration of time that the notification 206 is displayed. Othervisual indicators of elapsed and/or remaining time that the notification206 is displayed are also considered, such as a digital or analog timer,a progress wheel, an hourglass, “greying out” the other comments or aportion of the user interface (e.g., similar to the progression of theprogress bar across the screen) and so forth. Additionally, in someexamples, the social networking system may prevent posting of thecomment 202 for the duration of time that the notification 206 isdisplayed, such as by sending an instruction to the computing device ofthe first user, and/or preventing the content of the comment from beingassociated with the second user's post in the social networkingapplication.

Although not explicitly illustrated in FIGS. 2A-2C, in some cases, thecomment 202 may be posted responsive to the duration of time elapsing,thus sharing the comment with the second user and/or the followers ofthe second user. By sharing the comment 202 after a duration of time haselapsed, the techniques described herein give the first user anopportunity to reconsider sharing the potentially offensive content, butmay allow the comment 202 to be shared without the first user having toexecute an additional action in the process of sharing the comment(e.g., by affirmatively selecting an additional control to post thecomment). However, examples are considered in which an affirmativecontrol may be required to be selected by the first user to continuewith posting a potentially offensive comment.

Further, the social networking system may send an instruction to thecomputing device of the first user to present a control 210 that isusable to undo the comment 202. In some cases, the control 210 may beincluded as part of the notification 206 and/or displayed proximate thenotification 206. In one example, the control 210, when selected, maywithdraw the comment 202 from being shared by deleting the content ofthe comment 202. In some examples, selection of the control 210 maycause the content of the comment 202 to be returned to an editable field212 (e.g., a text editing field, a photo editing field, etc.), where thefirst user may revise and/or delete the content included in the comment202. In this way, the first user is provided with an opportunity to makethe comment more respectful after being notified that other users mayfind the comment 202 to be offensive.

In some examples, the notification 206 may also include a control 214(in this case, denoted by “Learn More”) that is usable to provide thefirst user with additional information about the notification 206. Inthis example, a second user interface 200 b of FIG. 2b depicts the firstuser selecting the control 214 of the notification 206 by way of a touchinput. As a result of the first user selecting the control 214 of thenotification 206, a third user interface 200 c of FIG. 2C may bedisplayed on the computing device of the first user. In the examplethird user interface 200 c, a message 216 may be displayed as a resultof the selection of the control 214, which reads “We're asking people torethink comments that seem similar to others that have been reported. Ifwe made a mistake, let us know.” Other messages may be displayed toprovide the first user with additional information about why thenotification 206 was presented to the first user, such as an indicationof the offensiveness score that the comment 202 received from themachine-learned model, examples of other comments that have beenreported as offensive, a prompt of a more respectful comment that mayreplace the comment 202 (e.g., selectable by the user to automaticallyreplace the comment 202), and so forth. In some cases, the message 216may include a control 218 that is selectable by the first user (in thiscase, the “let us know” portion of the message 216), that, when selectedby the first user, may provide feedback to the social networking systemthat the first user does not interpret the comment 202 to be offensive.Such feedback may be used to refine the parameters of themachine-learned model to make more accurate predictions on offensivecontent in the future.

FIGS. 3A-3C illustrate example interfaces usable to present anotification that is selectable to control the display of a potentiallyoffensive story before the potentially offensive story is shared by afirst user. A first user interface 300 a shown in FIG. 3A corresponds toa story composed by the first user, which includes an image 302, a textoverlay 304, and a sticker 306. Other content may be included in astory, as described above in relation to FIG. 1. The image 302 includedin the story may be of a second user, whom the first user may intend toshare an offensive story about with followers of the first user. In someexamples, the second user may be a follower of the first user on thesocial networking application, although examples are contemplated inwhich the second user is not a follower of the first user. In caseswhere the second user is not a follower of the first user, the seconduser may not have an opportunity to see the story before other followersof the first user view the story, and thus may not have an opportunityto request to have the story withdrawn (e.g., by directly requesting thefirst user and/or sending a request to the social networking system toremove the story) before other users see the story.

The first user interface 300 a may include selectable controls forsharing the story with different groups of followers of the first user,such as a “Your Story” control 308, a “Close Friends” control 310,and/or a “Send To” control 312. In examples, the Your Story control 308may be a single-input control for sharing the story with all of thefirst user's followers, the Close Friend control 310 may be asingle-input control for sharing the story with a pre-selected group ofthe first user's followers, and the Send To control 312 may cause anadditional user interface to be presented upon selection that the firstuser may select followers to share the story with. In the first userinterface 300 a, the Your Story control 308 has been selected by thefirst user, as indicated by the bolded icon. A second user interface 300b shown in FIG. 3B corresponds to the story depicted in the first userinterface 300 a of FIG. 3A, but in the second user interface 300 b, theSend To control 312 has been selected by the first user, as indicated bythe bolded icon. As a result of the first user selecting the Send Tocontrol 312, a third user interface 300 c of FIG. 3C may be displayed bythe computing device of the first user, in which the first user mayselect from the first user's followers who the story will be sharedwith.

In examples, the social networking system may detect the potentiallyoffensive story prior to the story being shared, and provide the firstuser with the ability to revise and/or withdraw the story from beingshared. For instance, when the first user selects the Your Story control308, the story may be input into a machine-learned model trained todetect offensive content, such as described in relation to FIG. 1.Similarly, when the first user selects the Send To control 312, followedby one or more of the first user's followers listed in the third userinterface 300 c, the story may be input into a machine-learned modeltrained to detect offensive content, such as described in relation toFIG. 1. The machine-learned model may output an offensiveness score ofthe story, and the score may be compared to a threshold corresponding toan offensiveness level of the story. If the score is greater than (orless than) the threshold score, the social networking system 106 of FIG.1 may output an instruction to the computing device of the first user todisplay a notification 314 associated with the story in the first userinterface 300 a and/or the third user interface 300 c, prior to thestory being shared with the followers of the first user in accordancewith the different sharing techniques of the respective user interfaces.Because a story, unlike a comment, may not inherently be associated withanother user's account, the machine-learned model may determine whetherthe story includes an indication of a second user account associatedwith the story (e.g., by the first user “tagging” a second user in thestory, for example). Determining whether the story includes anindication of a second user account may be considered when determiningwhether the story includes bullying content, for instance, such as byincreasing the offensiveness score of the story if another user istagged.

The machine-learned model may take a variety of forms, as discussed inrelation to the machine-learned model 114 of FIG. 1. For instance, themachine-learned model may be an image classifier trained to identifypotentially offensive images or video in the story, an audio classifiertrained to identify potentially offensive sounds or speech in the story,and/or a text classifier trained to identify potentially offensive text(including text detected using OCR) in the story, to name a fewexamples. In cases where the story includes different types of content(e.g., an image, a sound, a text overlay, a tag, a GIF, and so forth),the offensiveness score may be based on combining individual scoresassociated with an offensiveness of each of the content types includedin the story (e.g., by summation, weighted average, etc.).

In some cases, the potentially offensive content identifiable by themachine-learned model may include different content categories, such asbullying content, hate speech content, nudity content, or others. Themachine-learned model may be able to determine that the content includedin the story (e.g., one or more of the image 302, the text overlay 304,or the sticker 306) is a content category of the known offensive contentcategories. Based on determining that the story is a content category ofthe known offensive content categories, the social networking system maycustomize the notification 314 accordingly. For instance, if the storyis determined to include bullying content directed at another particularuser of the social networking application (e.g., “anon2”), thenotification 314 may be customized to read, “It's not okay to treatother users in this manner Would you like to change your story aboutanon2?” or the like. On the other hand, if the story is determined toinclude nudity content, the notification 314 may be customized to read,“Your image may contain content that does not meet our communityguidelines. Would you like to choose a different image to share?” Othercustomized notification examples are also considered.

Similar to the discussion above in relation to FIGS. 2A-2C, in someexamples the notification 314 may include text such as “Other people mayfind this offensive,” warning the first user how other users mayperceive the story that the first user is intending to share.Additionally, in examples, the instruction to present the notification314 may include a duration of time to present the notification 314(e.g., 3 seconds, 5 seconds, 8 seconds, etc.) by the computing device ofthe first user in either the first user interface 300 a or the thirduser interface 300 b. To make the first user aware of the duration oftime that the notification 314 will be displayed, a progress bar 316 orother visual timer indication may also be displayed (e.g., proximate thenotification 314), visually indicating the elapsed and/or remainingduration of time that the notification 314 is displayed. Additionally,in some examples, the social networking system may prevent sharing ofthe story for the duration of time that the notification 314 isdisplayed, such as by sending an instruction to the computing device ofthe first user to prevent the story from being shared.

Although not explicitly illustrated in FIGS. 3A-3C, in some cases, thestory may be shared with the first user's followers responsive to theduration of time elapsing, according to the selection of the Your Storycontrol 308, the Close Friends control 310, and/or the Send To control312 followed by selected users to share the story with. By sharing thestory after a duration of time has elapsed, the techniques describedherein give the first user an opportunity to reconsider sharing thepotentially offensive content, but may allow the story to be sharedwithout the first user having to execute an additional action in theprocess of sharing the story (e.g., by affirmatively selecting anadditional control to share the story). However, examples are consideredin which an affirmative control may be required to be selected by thefirst user to continue with posting a potentially offensive story.

Further, the social networking system may send an instruction to thecomputing device of the first user to present a control 316 that isusable to undo sharing the story before the story is shared with otherusers. In some cases, the control 316 may be included as part of thenotification 314 and/or displayed proximate the notification 316. In oneexample, the control 316, when selected, may withdraw the story frombeing shared by deleting the content of the story. In some examples,selection of the control 316 may cause the story to be returned to aneditable state, where the first user may revise and/or delete thecontent included in the story. In this way, the first user is providedwith an opportunity to make the story more respectful after beingnotified that other users may find the story to be offensive. In someexamples, the notification 314 may also include a control 318 (in thiscase, denoted by “Learn More”) that is usable to provide the first userwith additional information about the notification 314. The control 318may include functionality similar to the control 214 of FIG. 2.

In some cases, multiple thresholds may be used to determine whether andhow to share the story. For instance, the threshold score used fordetermining whether to display the notification 314 may be a firstthreshold score that the offensiveness score for the story is comparedto. In addition, the offensiveness score for the story may be comparedto a second threshold score that may prevent the content from beingshared, without first notifying the user. In some examples, the secondthreshold score may be a higher threshold score than the first thresholdscore (or a lower threshold score), corresponding to more offensivecontent. In other words, content deemed to be more offensive may beprevented from being shared entirely, while content that may allow fordiscretion of offensiveness may prompt the notification 314 to bedisplayed to the first user to allow the first user to decide whether tocontinue with sharing the content.

In some examples, multiple machine-learned models may be used (e.g., inseries) to determine whether and how to share the story. For instance, afirst machine-learned model may be included locally in an application onthe computing device of the first user that performs an initialassessment of an offensiveness level of the story. The firstmachine-learned model may utilize limited processing resources todetermine potentially offensive content, but may have the advantage ofproviding the notification 314 sooner than a remotely located, morerobust machine-learned model. After the assessment by the firstmachine-learned model, the story may be shared by the first user withfollowers of the first user. However, in addition after the assessmentby the first machine-learned model, a second, more robustmachine-learned model may also analyze the story for offensive content(e.g., a machine-learned model located remotely from the computingdevice of the first server, at the social networking system). If thesecond machine-learned model detects that an offensiveness score of thestory exceeds a threshold offensiveness level, the social networkingsystem may withdraw the story from being shared, provide an instructionto the computing device of the first user notifying the first user thatthe content is offensive, provide the first user with controls to editand/or remove the story, and so forth according to the techniquesdescribed herein.

FIG. 4 illustrates an example interface 400 usable to present anotification that is selectable to control the display of a potentiallyoffensive message before the potentially offensive message is shared.The message may be a direct message in a messaging or social mediaapplication, a text message, an email, an instant message, or any othermessage type. The example interface 400 includes an editable text inputfield, in which a first user has input “You suck! !” as a direct message402 to be shared with a second user (e.g., “anon8”). In some examples,other content types may be included in a direct message, such as images,video, emojis, and so forth as described above in relation to FIG. 1.

The user interface 400 may include a selectable control 404 for sharingthe direct message 402 with the second user. In examples, the socialnetworking system may detect the potentially offensive direct message402 prior to the direct message being shared with the second user, andprovide the first user with the ability to revise and/or withdraw thedirect message from being shared. For instance, when the first userselects the control 404, the direct message may be input into amachine-learned model trained to detect offensive content, such asdescribed in relation to FIG. 1. The machine-learned model may output anoffensiveness score of the direct message, and the score may be comparedto a threshold corresponding to an offensiveness level of the directmessage. If the score is greater than (or less than) the thresholdscore, the social networking system 106 of FIG. 1 may output aninstruction to the computing device of the first user to display anotification 406 associated with the direct message 402 in the userinterface 400, prior to the direct message being shared with the seconduser.

The machine-learned model may take a variety of forms, as discussed inrelation to the machine-learned model 114 of FIG. 1. For instance, themachine-learned model may be an image classifier trained to identifypotentially offensive images or video in the direct message 402, anaudio classifier trained to identify potentially offensive sounds orspeech in the direct message 402, and/or a text classifier trained toidentify potentially offensive text (including text detected using OCR)in the direct message 402, to name a few examples. In cases where thedirect message 402 includes different types of content (e.g., an image,a sound, a text overlay, a text-based message, and so forth), theoffensiveness score may be based on combining individual scoresassociated with an offensiveness of each of the content types includedin the direct message 402 (e.g., by summation, weighted average, etc.).

In some cases, the potentially offensive content identifiable by themachine-learned model may include different content categories, such asbullying content, hate speech content, nudity content, or others. Themachine-learned model may be able to determine that the content includedin the direct message 402 is a content category of the known offensivecontent categories. Based on determining that the direct message 402 isa content category of the known offensive content categories, the socialnetworking system may customize the notification 406 accordingly, suchas described in relation to FIGS. 3A-3C.

Similar to the discussion above in relation to FIGS. 2A-2C, in someexamples the notification 406 may include text such as “Other people mayfind this offensive,” warning the first user how other users mayperceive the direct message 402 that the first user is intending toshare. Additionally, in examples, the instruction to present thenotification 406 may include a duration of time to present thenotification 406 (e.g., 3 seconds, 5 seconds, 8 seconds, etc.) by thecomputing device of the first user in the user interface 400. To makethe first user aware of the duration of time that the notification 406will be displayed, a progress bar 408 or other visual timer indicationmay also be displayed (e.g., proximate the notification 406), visuallyindicating the elapsed and/or remaining duration of time that thenotification 406 is displayed. Additionally, in some examples, thesocial networking system may prevent sharing of the direct message 402with the second user for the duration of time that the notification 406is displayed, such as by sending an instruction to the computing deviceof the first user to prevent the direct message 402 from being shared.

Although not explicitly illustrated in FIG. 4, in some cases, the directmessage 402 may be shared with the second user responsive to theduration of time elapsing. By sharing the direct message 402 after aduration of time has elapsed, the techniques described herein give thefirst user an opportunity to reconsider sharing the potentiallyoffensive content, but may allow the direct message 402 to be sharedwithout the first user having to execute an additional action in theprocess of sharing the direct message 402 (e.g., by affirmativelyselecting an additional control to share the direct message). However,examples are considered in which an affirmative control may be requiredto be selected by the first user to continue with posting a potentiallyoffensive direct message 402.

Further, the social networking system may send an instruction to thecomputing device of the first user to present a control 410 that isusable to undo sharing the direct message 402 before the direct message402 is shared with the second user. In some cases, the control 410 maybe included as part of the notification 406 and/or displayed proximatethe notification 406. In one example, the control 410, when selected,may withdraw the direct message 402 from being shared by deleting thecontent of the direct message 402. In some examples, selection of thecontrol 410 may cause the direct message 402 to be returned to aneditable field, where the first user may revise and/or delete thecontent included in the direct message 402. In this way, the first useris provided with an opportunity to make the direct message 402 morerespectful after being notified that the second user may find the directmessage 402 to be offensive. In some examples, the notification 406 mayalso include a control (in this case, denoted by “Learn More”) that isusable to provide the first user with additional information about thenotification 406, and may include functionality similar to the control214 of FIG. 2.

In some cases, as discussed above in relation to FIGS. 3A-3C, multiplethresholds may be used to determine whether and how to share the directmessage. For instance, content deemed to be more offensive may beprevented from being shared entirely, while content that may allow fordiscretion of offensiveness may prompt the notification 406 to bedisplayed to the first user to allow the first user to decide whether tocontinue with sharing the content. Additionally as described in relationto FIGS. 3A-3C, multiple machine-learned models may be used (e.g., inseries) to determine whether and how to share the direct message. Forinstance, a first machine-learned model may be included locally in anapplication on the computing device of the first user that performs aninitial assessment of an offensiveness level of the direct message,while a more robust machine-learned model may evaluate content morethoroughly and withdraw the content from being shared or present thefirst user with a notification that the content may be offensiveaccording to the described techniques.

FIG. 5 illustrates an example interface 500 usable to present anotification that is selectable to control the display of a potentiallyoffensive profile post before the potentially offensive profile post isshared. The example interface 500 includes an image 502 which, whenshared with a first user's followers, will appear in a feed of the firstuser's followers. The image 502 may be selected, captured, and/or editedprior to the user interface 500 being displayed, and these prior userinterface(s) are not pictured here for clarity. The example interface500 also includes a text field 504, in which a first user has input “Yousuck! !” which may appear proximate the image 502 as part of the profilepost. In some examples, other content types may be included in a profilepost, such as multiple images, video(s), emojis, and so forth asdescribed above in relation to FIG. 1.

Additionally, the example interface 500 includes a tag field 506, whichthe first user may select one or more other users to be tagged in theprofile post. In this case, the first user has tagged a second user(“anon9”) in the profile post. In some examples, when the second user istagged in the profile post, other users can view that the second userhas been tagged in the post (e.g., by “single tapping” the profilepost), and other users may view, as part of the second user's profile,posts that the user has been tagged in. If the image 502 and/or the textfield 504 associated with the profile post contains offensive content,and the second user has been tagged in the profile post by the firstuser, the second user may be affected by the undesirable consequencesdescribed above, such as negative feelings, embarrassment, and so forth.

The user interface 500 may include a location tag field 508 as well,which the first user may select a location that corresponds to theprofile post. Oftentimes, users enjoy sharing a location where an imageor video of the profile post was captured, to give reference tolandmarks, restaurants, stores, and so forth. However, in some cases, auser may enter a custom, made-up location and/or a “play on words” of anactual location that, when considered in the context of the entireprofile post (or on its own), may contribute to being offensive. In thiscase, the first user has entered a location of “What Doesn't Suck?” inthe location tag field 508, which may add to the overall offensivenessof the profile post.

Further, the user interface 500 includes selectable controls 510, whichallow the user to automatically share the profile post on one or moreother social media platforms. In some examples, other social mediaplatforms may not have systems in place to monitor offensive content.Therefore, by employing the techniques described herein, offensivecontent may be withheld and/or edited to be more respectful not only onthe social media application in use, but on other social media platformsas well.

The user interface 500 may also include a selectable control 512 forsharing the profile post with the followers of the first user. Inexamples, the social networking system may detect the potentiallyoffensive profile post prior to the profile post being shared with thefollowers of the first user, and provide the first user with the abilityto revise and/or withdraw the profile post from being shared. Forinstance, when the first user selects the control 512, the profile postmay be input into a machine-learned model trained to detect offensivecontent, such as described in relation to FIG. 1. The machine-learnedmodel may output an offensiveness score of the profile post, and thescore may be compared to a threshold corresponding to an offensivenesslevel of the profile post. If the score is greater than (or less than)the threshold score, the social networking system 106 of FIG. 1 mayoutput an instruction to the computing device of the first user todisplay a notification 514 associated with the profile post in the userinterface 500, prior to the profile post being shared with the followersof the first user.

The machine-learned model may take a variety of forms, as discussed inrelation to the machine-learned model 114 of FIG. 1. For instance, themachine-learned model may be an image classifier trained to identifypotentially offensive images or video in the profile post, an audioclassifier trained to identify potentially offensive sounds or speech inthe profile post, and/or a text classifier trained to identifypotentially offensive text (including text detected using OCR) in theprofile post, to name a few examples. In cases where the profile postincludes different types of content (e.g., an image, a sound, a video, atext overlay, a text field, a user tag, a location tag, and so forth),the offensiveness score may be based on combining individual scoresassociated with an offensiveness of each of the content types includedin the profile post (e.g., by summation, weighted average, etc.).

In some cases, the potentially offensive content identifiable by themachine-learned model may include different content categories, such asbullying content, hate speech content, nudity content, or others. Themachine-learned model may be able to determine that the content includedin the profile post is a content category of the known offensive contentcategories. Based on determining that the profile post is a contentcategory of the known offensive content categories, the socialnetworking system may customize the notification 514 accordingly, suchas described in relation to FIGS. 3A-3C.

Similar to the discussion above in relation to FIGS. 2A-2C, in someexamples the notification 514 may include text such as “Other people mayfind this offensive,” warning the first user how other users mayperceive the profile post that the first user is intending to share.Additionally, in examples, the instruction to present the notification514 may include a duration of time to present the notification 514(e.g., 3 seconds, 5 seconds, 8 seconds, etc.) by the computing device ofthe first user in the user interface 500. To make the first user awareof the duration of time that the notification 514 will be displayed, aprogress bar 516 or other visual timer indication may also be displayed(e.g., proximate the notification 514), visually indicating the elapsedand/or remaining duration of time that the notification 514 isdisplayed. Additionally, in some examples, the social networking systemmay prevent sharing of the profile post with the followers of the firstuser for the duration of time that the notification 514 is displayed,such as by sending an instruction to the computing device of the firstuser to prevent the profile post from being shared.

Although not explicitly illustrated in FIG. 5, in some cases, theprofile post may be shared with the followers of the first userresponsive to the duration of time elapsing. By sharing the profile postafter a duration of time has elapsed, the techniques described hereingive the first user an opportunity to reconsider sharing the potentiallyoffensive content, but may allow the profile post to be shared withoutthe first user having to execute an additional action in the process ofsharing the profile post (e.g., by affirmatively selecting an additionalcontrol to share the profile post). However, examples are considered inwhich an affirmative control may be required to be selected by the firstuser to continue with posting a potentially offensive profile post.

Further, the social networking system may send an instruction to thecomputing device of the first user to present a control 518 that isusable to undo sharing the profile post before the profile post isshared with the followers of the first user. In some cases, the control518 may be included as part of the notification 514 and/or displayedproximate the notification 514. In one example, the control 518, whenselected, may withdraw the profile post from being shared by deletingthe content of the profile post. In some examples, selection of thecontrol 518 may cause the profile post to be returned to an editablestate, where the first user may revise and/or delete the contentincluded in the profile post. In this way, the first user is providedwith an opportunity to make the profile post more respectful after beingnotified that the one or more of the followers of the first user, and/orthe second user tagged in the profile post, may find the profile post tobe offensive. In some examples, the notification 514 may also include acontrol (in this case, denoted by “Learn More”) that is usable toprovide the first user with additional information about thenotification 514, and may include functionality similar to the control214 of FIG. 2.

In some cases, as discussed above in relation to FIGS. 3A-3C, multiplethresholds may be used to determine whether and how to share the profilepost. For instance, content deemed to be more offensive may be preventedfrom being shared entirely, while content that may allow for discretionof offensiveness may prompt the notification 514 to be displayed to thefirst user to allow the first user to decide whether to continue withsharing the content. Additionally as described in relation to FIGS.3A-3C, multiple machine-learned models may be used (e.g., in series) todetermine whether and how to share the story. For instance, a firstmachine-learned model may be included locally in an application on thecomputing device of the first user that performs an initial assessmentof an offensiveness level of the profile post, while a more robustmachine-learned model may evaluate content more thoroughly and withdrawthe content from being shared or present the first user with anotification that the content may be offensive according to thedescribed techniques.

Example Methods

Various methods are described with reference to the example system ofFIG. 1 for convenience and ease of understanding. However, the methodsdescribed are not limited to being performed using the system of FIG. 1and may be implemented using systems and devices other than thosedescribed herein.

The methods described herein represent sequences of operations that canbe implemented in hardware, software, or a combination thereof. In thecontext of software, the blocks represent computer-executableinstructions stored on one or more computer-readable storage media that,when executed by one or more processors, perform the recited operations.Generally, computer-executable instructions include routines, programs,objects, components, data structures, and the like that performparticular functions or implement particular abstract data types. Theorder in which the operations are described is not intended to beconstrued as a limitation, and any number of the described operationscan be combined in any order and/or in parallel to implement theprocesses. In some embodiments, one or more operations of the method maybe omitted entirely. Moreover, the methods described herein can becombined in whole or in part with each other or with other methods.

FIGS. 6A and 6B depict an example process 600 for determining apotentially offensive comment being posted by a user account, andsending an instruction to present a notification associated with thepotentially offensive comment to a computing device associated with theuser account.

At operation 602, the process can include sending, to a computing deviceassociated with a first user account, content originating from a seconduser account. For instance, the content may be a profile post shared bythe second user account with followers of the second user account, orwith all users of a social networking application. In some examples, thefirst user may be a follower of the second user, and may receive thecontent in the first user's feed. In some cases, the first user may notbe a follower of the second user, but instead may access the contentthrough other means (e.g., by performing a search in which the seconduser is a result of the search).

At operation 604, the process can include receiving, from the computingdevice associated with the first user account, a comment associated withthe content. In some cases, the comment may be received by the socialnetworking system 106 prior to the comment being shared with any otherusers, including the second user whose content the first user iscommenting on.

At operation 606, the process can include inputting the comment into amachine-learned model trained to identify potentially offensivecomments. For example, the machine-learned model may be trained toidentify bullying, hate speech, threats, and/or other types ofpotentially offensive comments.

At operation 608, the process can include receiving, from themachine-learned model, a score associated with an offensiveness of thecomment. The process 600 proceeds through “A” to FIG. 6B, where atoperation 610 the score is compared to one or more thresholds. In someexamples, the one or more thresholds may correspond to an offensivenesslevel or levels (e.g., a likelihood of offensiveness, a degree ofoffensiveness, etc.). If the score is less than each of the one or morethresholds (e.g., the score is representative of a low likelihood thatthe comment is offensive), the process may proceed to operation 612,where the comment is posted in association with the content, thus makingthe comment viewable to other users.

If the score is greater than a first threshold score, the process mayproceed to operation 614, in which the comment is prevented from beingposted. The first threshold score may correspond to a high offensivenesslevel (e.g., certain that the content is offensive). In some examples,although the comment may be prevented from being posted if the score ishigher than the first threshold score, a notification may be output atthe computing device associated with the first user account to notifythe user that the comment was determined to be offensive, thus allowingthe user to resubmit a comment that may be more respectful.

If the score is greater than a second threshold score, but less than thefirst threshold score, the process may proceed to operation 616 in whichan instruction is sent to the computing device associated with the firstuser account to present a notification associated with the comment. Insome examples, the notification may advise the user that the comment islikely to be offensive to other users, give the user more informationabout offensive content, and/or provide the user with selectablecontrols to undo posting and/or revise the comment as described herein.Additionally, in some cases, the notification may be presented for anamount of time (e.g., 3 seconds, 5 seconds, 8 seconds, etc.) allowingthe user to undo posting and/or revise the comment before the comment isposted. During the amount of time, the comment may be in a “pending”state, in which it is not posted for other users to view.

For instance, at operation 618, the process can include determiningwhether selection of a control to undo the comment within a thresholdamount of time has been received. If the selection of the control toundo posting of the comment is not received within the threshold amountof time, the process may return to operation 612, where the comment isposted in association with the content, making the comment viewable byother users. On the other hand, if selection of the control is receivedwithin the threshold amount of time, the process can proceed tooperation 620, in which an instruction is sent to the computing deviceassociated with the first user account to cause the comment to bereturned to an editable field (e.g., a text editing field). In this way,the user may edit the comment to be more respectful, and/or withdraw thecomment from being posted for other users to view.

At operation 622, the process can include determining whether anadditional comment is received. If an additional comment is received,the process may return through “B” to operation 606 where the additionalcomment is input into the machine-learned model trained to identifypotentially offensive comments. If an additional comment is notreceived, the process may return to operation 614, where the originalcomment is prevented from being posted, and may be deleted from thesocial networking system.

FIGS. 7A and 7B depict an example process 700 for determiningpotentially offensive content being posted by a user account, andsending an instruction to present a notification associated with thepotentially offensive content to a computing device associated with theuser account.

At operation 702, the process can include receiving, from a computingdevice associated with a user account, an indication of content to beshared by the user account. In some examples, the content to be sharedby the user account may be a profile post, a story, and/or a directmessage to one or more other users.

At operation 704, the process can include inputting the content into amachine-learned model trained to identify potentially offensive content.For example, the machine-learned model may be an image classifiertrained to identify potentially offensive images or video in thecontent, an audio classifier trained to identify potentially offensivesounds or speech in the content, and/or a text classifier trained toidentify potentially offensive text (including text detected using OCR)in the content, to name a few examples. In cases where the contentincludes different types of content (e.g., an image, a sound, a textoverlay, a tag, a GIF, and so forth), the offensiveness score may bebased on combining individual scores associated with an offensiveness ofeach of the content types included in the content (e.g., by summation,weighted average, etc.).

At operation 706, the process can include receiving, from themachine-learned model, a score associated with an offensiveness of thecontent. The process 700 proceeds through “A” to FIG. 7B, where atoperation 708 the score is compared to one or more thresholds. In someexamples, the one or more thresholds may correspond to an offensivenesslevel or levels (e.g., a likelihood of offensiveness, a degree ofoffensiveness, etc.). If the score is less than each of the one or morethresholds (e.g., the score is representative of a low likelihood thatthe content is offensive), the process may proceed to operation 710,where the content is shared, thus making the content viewable to otherusers according to the type of content as described herein.

If the score is greater than a first threshold score, the process mayproceed to operation 712, in which the content is prevented from beingshared. The first threshold score may correspond to a high offensivenesslevel (e.g., certain that the content is offensive). In some examples,although the content may be prevented from being shared if the score ishigher than the first threshold score, a notification may be output atthe computing device associated with the user account to notify the userthat the comment was determined to be offensive, thus allowing the userto resubmit content that may be more respectful.

If the score is greater than a second threshold score, but less than thefirst threshold score, the process may proceed to operation 714 in whichan instruction is sent to the computing device associated with the useraccount to present a notification associated with the content. In someexamples, the notification may advise the user that the content islikely to be offensive to other users, give the user more informationabout offensive content, and/or provide the user with selectablecontrols to undo sharing and/or revise the content as described herein.Additionally, in some cases, the notification may be presented for anamount of time (e.g., 3 seconds, 5 seconds, 8 seconds, etc.) allowingthe user to undo sharing and/or revise the content before the content isshared. During the amount of time, the content may be in a “pending”state, in which it is not shared with other users to view and/orconsume.

For instance, at operation 716, the process can include determiningwhether selection of a control to undo sharing the content within athreshold amount of time has been received. If the selection of thecontrol to undo sharing of the content is not received within thethreshold amount of time, the process may return to operation 612, wherethe content is shared according to the type of content as describedherein, making the content available to consume by other users. On theother hand, if selection of the control is received within the thresholdamount of time, the process can proceed to operation 620, in which aninstruction is sent to the computing device associated with the useraccount to cause the content to be returned to an editable state (e.g.,a text editing field, an image editing interface, a video editinginterface, a sound editing interface, etc.). In this way, the user mayedit the content to be more respectful, and/or withdraw the content frombeing shared for other users to consume.

At operation 720, the process can include determining whether additionalcontent is received. If additional content is received, the process mayreturn through “B” to operation 704 where the additional content isinput into the machine-learned model trained to identify potentiallyoffensive content. If additional content is not received, the processmay return to operation 712, where the original content is preventedfrom being posted, and may be deleted from the social networking system.

FIG. 8 is an example process 800 for presenting a notificationassociated with potentially offensive content.

At operation 802, the process can include receiving, at a computingdevice associated with a user account, an indication of content to beshared by the user account. For instance, the user account may beassociated with a social networking application being executed by thecomputing device. In some examples, the content to be shared may be aprofile or feed post, a story, a message, a comment on another user'sshared content, or other type of content as described herein.

At operation 804, the process can include outputting the content to asocial networking system. In some examples, the social networking systemmay include another computing device that is remotely located from thecomputing device associated with the user account, and the content isoutput over a network to the computing device of the social networkingsystem.

At operation 806, the process can include receiving, from the socialnetworking system, an instruction to present a notification associatedwith the content. In some examples, the notification may advise the userthat the content is likely to be offensive to other users, give the usermore information about offensive content, and/or provide the user withselectable controls to undo sharing and/or revise the content asdescribed herein. At operation 808, the process can include presentingthe notification associated with the content for a threshold amount oftime. In examples, the notification may be presented for an amount oftime (e.g., 3 seconds, 5 seconds, 8 seconds, etc.), and may includeselectable controls that allow the user to undo sharing and/or revisethe content before the content is shared, as described herein. Duringthe amount of time, the content may be in a “pending” state, in which itis not shared with other users to view and/or consume.

The various techniques described herein may be implemented in thecontext of computer-executable instructions or software, such as programmodules, that are stored in computer-readable storage and executed bythe processor(s) of one or more computing devices such as thoseillustrated in the figures. Generally, program modules include routines,programs, objects, components, data structures, etc., and defineoperating logic for performing particular tasks or implement particularabstract data types.

Other architectures may be used to implement the described functionalityand are intended to be within the scope of this disclosure. Furthermore,although specific distributions of responsibilities are defined abovefor purposes of discussion, the various functions and responsibilitiesmight be distributed and divided in different ways, depending oncircumstances.

Similarly, software may be stored and distributed in various ways andusing different means, and the particular software storage and executionconfigurations described above may be varied in many different ways.Thus, software implementing the techniques described above may bedistributed on various types of computer-readable media, not limited tothe forms of memory that are specifically described.

Example System and Device

FIG. 9 illustrates an example system generally at 900 that includes anexample computing device 902 that is representative of one or morecomputing systems and/or devices that may implement the varioustechniques described herein. This is illustrated through inclusion ofthe social networking system 106 configured to output an instruction topresent a notification of offensive content to a computing deviceassociated with a user account, and the machine-learned model 114trained to detect offensive content. The computing device 902 may be,for example, a server of a service provider, a device associated with aclient (e.g., a client device), an on-chip system, and/or any othersuitable computing device or computing system.

The example computing device 902 as illustrated includes a processingsystem 904, one or more computer-readable media 906, and one or more I/Ointerface 908 that are communicatively coupled, one to another. Althoughnot shown, the computing device 902 may further include a system bus orother data and command transfer system that couples the variouscomponents, one to another. A system bus can include any one orcombination of different bus structures, such as a memory bus or memorycontroller, a peripheral bus, a universal serial bus, and/or a processoror local bus that utilizes any of a variety of bus architectures. Avariety of other examples are also contemplated, such as control anddata lines.

The processing system 904 is representative of functionality to performone or more operations using hardware. Accordingly, the processingsystem 904 is illustrated as including hardware element 910 that may beconfigured as processors, functional blocks, and so forth. This mayinclude implementation in hardware as an application specific integratedcircuit or other logic device formed using one or more semiconductors.The hardware elements 910 are not limited by the materials from whichthey are formed or the processing mechanisms employed therein. Forexample, processors may be comprised of semiconductor(s) and/ortransistors (e.g., electronic integrated circuits (ICs)). In such acontext, processor-executable instructions may beelectronically-executable instructions.

The computer-readable storage media 906 is illustrated as includingmemory/storage 912. The memory/storage 912 represents memory/storagecapacity associated with one or more computer-readable media. Thememory/storage component 912 may include volatile media (such as randomaccess memory (RAM)) and/or nonvolatile media (such as read only memory(ROM), Flash memory, optical disks, magnetic disks, and so forth). Thememory/storage component 912 may include fixed media (e.g., RAM, ROM, afixed hard drive, and so on) as well as removable media (e.g., Flashmemory, a removable hard drive, an optical disc, and so forth). Thecomputer-readable media 906 may be configured in a variety of other waysas further described below.

Input/output interface(s) 908 are representative of functionality toallow a user to enter commands and information to computing device 902,and also allow information to be presented to the user and/or othercomponents or devices using various input/output devices. Examples ofinput devices include a keyboard, a cursor control device (e.g., amouse), a microphone, a scanner, touch functionality (e.g., capacitiveor other sensors that are configured to detect physical touch), a camera(e.g., which may employ visible or non-visible wavelengths such asinfrared frequencies to recognize movement as gestures that do notinvolve touch), and so forth. Examples of output devices include adisplay device (e.g., a monitor or projector), speakers, a printer, anetwork card, tactile-response device, and so forth. Thus, the computingdevice 902 may be configured in a variety of ways as further describedbelow to support user interaction.

Various techniques may be described herein in the general context ofsoftware, hardware elements, or program modules. Generally, such modulesinclude routines, programs, objects, elements, components, datastructures, and so forth that perform particular tasks or implementparticular abstract data types. The terms “module,” “functionality,”“logic,” and “component” as used herein generally represent software,firmware, hardware, or a combination thereof. The features of thetechniques described herein are platform-independent, meaning that thetechniques may be implemented on a variety of commercial computingplatforms having a variety of processors.

An implementation of the described modules and techniques may be storedon and/or transmitted across some form of computer-readable media. Thecomputer-readable media may include a variety of media that may beaccessed by the computing device 902. By way of example, and notlimitation, computer-readable media may include “computer-readablestorage media” and “computer-readable transmission media.”

“Computer-readable storage media” may refer to media and/or devices thatenable persistent and/or non-transitory storage of information incontrast to mere signal transmission, carrier waves, or signals per se.Thus, computer-readable storage media refers to non-signal bearingmedia. The computer-readable storage media includes hardware such asvolatile and non-volatile, removable and non-removable media and/orstorage devices implemented in a method or technology suitable forstorage of information such as computer-readable instructions, datastructures, program modules, logic elements/circuits, or other data.Examples of computer-readable storage media may include, but are notlimited to, RAM, ROM, EEPROM, flash memory or other memory technology,CD-ROM, digital versatile disks (DVD) or other optical storage, harddisks, magnetic cassettes, magnetic tape, magnetic disk storage or othermagnetic storage devices, or other storage device, tangible media, orarticle of manufacture suitable to store the desired information andwhich may be accessed by a computer.

“Computer-readable transmission media” may refer to a medium that isconfigured to transmit instructions to the hardware of the computingdevice 902, such as via a network. Computer-readable transmission mediatypically may transmit computer-readable instructions, data structures,program modules, or other data in a modulated data signal, such ascarrier waves, data signals, or other transport mechanism.Computer-readable transmission media also include any informationdelivery media. The term “modulated data signal” means a signal that hasone or more of its characteristics set or changed in such a manner as toencode information in the signal. By way of example, and not limitation,computer-readable transmission media include wired media such as a wirednetwork or direct-wired connection, and wireless media such as acoustic,radio frequency (RF), infrared, and other wireless media.

As previously described, hardware elements 910 and computer-readablemedia 906 are representative of modules, programmable device logicand/or device logic implemented in a hardware form that may be employedin some embodiments to implement at least some aspects of the techniquesdescribed herein, such as to perform one or more instructions. Hardwaremay include components of an integrated circuit or on-chip system, anapplication-specific integrated circuit (ASIC), a field-programmablegate array (FPGA), a complex programmable logic device (CPLD), and otherimplementations in silicon or other hardware. In this context, hardwaremay operate as a processing device that performs program tasks definedby instructions and/or logic embodied by the hardware as well as ahardware utilized to store instructions for execution, e.g., thecomputer-readable storage media described previously.

Combinations of the foregoing may also be employed to implement varioustechniques described herein. Accordingly, software, hardware, orexecutable modules may be implemented as one or more instructions and/orlogic embodied on some form of computer-readable storage media and/or byone or more hardware elements 910. The computing device 902 may beconfigured to implement particular instructions and/or functionscorresponding to the software and/or hardware modules. Accordingly,implementation of a module that is executable by the computing device902 as software may be achieved at least partially in hardware, e.g.,through use of computer-readable storage media and/or hardware elements910 of the processing system 904. The instructions and/or functions maybe executable/operable by one or more articles of manufacture (forexample, one or more computing devices 902 and/or processing systems904) to implement techniques, modules, and examples described herein.

The techniques described herein may be supported by variousconfigurations of the computing device 902 and are not limited to thespecific examples of the techniques described herein. This functionalitymay also be implemented all or in part through use of a distributedsystem, such as over a “cloud” 914 via a platform 916 as describedbelow.

The cloud 914 includes and/or is representative of a platform 916 forresources 918. The platform 916 abstracts underlying functionality ofhardware (e.g., servers) and software resources of the cloud 914. Theresources 918 may include applications and/or data that can be utilizedwhile computer processing is executed on servers that are remote fromthe computing device 902. Resources 918 can also include servicesprovided over the Internet and/or through a subscriber network, such asa cellular or Wi-Fi network.

The platform 916 may abstract resources and functions to connect thecomputing device 902 with other computing devices. The platform 916 mayalso be scalable to provide a corresponding level of scale toencountered demand for the resources 918 that are implemented via theplatform 916. Accordingly, in an interconnected device embodiment,implementation of functionality described herein may be distributedthroughout multiple devices of the system 900. For example, thefunctionality may be implemented in part on the computing device 902 aswell as via the platform 916 which may represent a cloud computingenvironment 914.

CONCLUSION

Although the discussion above sets forth example implementations of thedescribed techniques, other architectures may be used to implement thedescribed functionality, and are intended to be within the scope of thisdisclosure. Furthermore, although the subject matter has been describedin language specific to structural features and/or methodological acts,it is to be understood that the subject matter defined in the appendedclaims is not necessarily limited to the specific features or actsdescribed. Rather, the specific features and acts are disclosed asexemplary forms of implementing the claims.

What is claimed is:
 1. A method comprising: receiving, from a computingdevice associated with a user account, content to be shared by the useraccount; inputting the content into a machine-learned model trained toidentify potentially offensive content; receiving, from themachine-learned model, a score associated with an offensiveness of thecontent; comparing the score to a threshold score corresponding to anoffensiveness level; sending, to the computing device associated withthe user account and based at least in part on the score being greaterthan the threshold score, an instruction to present a notificationassociated with the content for a duration of time; withholding thecontent from being transmitted by the user account for the duration oftime; and transmitting the content based at least in part on theduration of time elapsing.
 2. The method of claim 1, wherein the contentcomprises at least a portion of a profile post, a story, or a directmessage.
 3. The method of claim 1, wherein the instruction is a firstinstruction, the method further comprising sending, to the computingdevice associated with the user account, a second instruction to presenta control usable to undo sharing the content.
 4. The method of claim 1,wherein the potentially offensive content identifiable by themachine-learned model comprises content types including bullyingcontent, hate speech content, or nudity content, the method furthercomprising: determining that the content is a content type of thecontent types, wherein the instruction to present the notification isfurther based at least in part on the content type of the content. 5.The method of claim 1, wherein the machine-learned model comprises animage classifier trained to identify potentially offensive images orvideo.
 6. The method of claim 1, wherein the machine-learned modelcomprises an audio classifier trained to identify potentially offensivesounds or speech.
 7. The method of claim 1, wherein the machine-learnedmodel comprises a text classifier trained to identify potentiallyoffensive text.
 8. The method of claim 7, wherein the machine-learnedmodel further comprises an optical character recognition (OCR) layer toidentify the potentially offensive text depicted in an image or a video.9. The method of claim 1, wherein the user account is a first useraccount, the method further comprising determining a second user accountassociated with the content, wherein the instruction to present thenotification is based at least in part on the second user account beingassociated with the content.
 10. A system comprising: one or moreprocessors; and computer-readable media storing instructions that, whenexecuted by the one or more processors, cause the system to performoperations comprising: receiving, from a computing device associatedwith a user account, content to be shared by the user account, thecontent comprising two or more content categories, the contentcategories including an image, a video, a sound, or text; inputting thecontent into a machine-learned model trained to identify potentiallyoffensive content; receiving, from the machine-learned model, a scoreassociated with an offensiveness of the content, the score based atleast in part on combining individual scores associated with anoffensiveness of individual ones of the two or more content categoriesincluded in the content; comparing the score to a threshold scorecorresponding to an offensiveness level; and sending, to the computingdevice associated with the user account and based at least in part onthe score being greater than the threshold score, an instruction topresent a notification associated with the content.
 11. The system ofclaim 10, wherein the content is a profile post, a story, or a directmessage comprising the two or more content categories.
 12. The system ofclaim 10, wherein the instruction to present the notification includes aduration of time to present the notification.
 13. The system of claim12, the operations further comprising sharing the content responsive tothe duration of time elapsing.
 14. The system of claim 12, wherein theinstruction to present the notification further instructs the computingdevice associated with the user account to display a visual indicator toindicate the duration of time.
 15. The system of claim 10, wherein theinstruction is a first instruction, the operations further comprisingsending, to the computing device associated with the user account, asecond instruction to display the content in a pending state for aduration of time.
 16. The system of claim 10, wherein the instruction isa first instruction, the operations further comprising sending, to thecomputing device associated with the user account, a second instructionto present a control usable to undo sharing the content.
 17. One or morecomputer-readable media storing instructions that, when executed by oneor more processors of a server computing device, cause the servercomputing device to perform operations comprising: receiving, from acomputing device associated with a user account, content to be shared bythe user account; inputting the content into a machine-learned modeltrained to identify potentially offensive content; receiving, from themachine-learned model, a score associated with an offensiveness of thecontent; comparing the score to a first threshold score corresponding toa first offensiveness level; preventing the content from being sentbased at least in part on the score being greater than the firstthreshold score; comparing the score to a second threshold scorecorresponding to a second offensiveness level; and sending, to thecomputing device associated with the user account, an instruction topresent a notification associated with the content based at least inpart on the score being less than the first threshold score and greaterthan the second threshold score.
 18. The one or more computer-readablemedia of claim 17, wherein the notification includes a control usable toundo sharing the content based at least in part on the score being lessthan the first threshold score and greater than the second thresholdscore.
 19. The one or more computer-readable media of claim 17, whereinthe computing device is a first computing device, the user account is afirst user account, the machine-learned model is a first machine-learnedmodel, and the score is a first score, the operations furthercomprising: permitting the content to be shared with a second computingdevice associated with a second user account; inputting the content intoa second machine-learned model trained to identify the potentiallyoffensive content; receiving, from the machine-learned model, a secondscore associated with the offensiveness of the content; and withdrawingthe content from being shared with the second computing deviceassociated with the second user account based at least in part on thesecond score.
 20. The one or more computer-readable media of claim 17,wherein the content comprises a profile post, a story, or a directmessage.